/**
 * @author 0283000115
 * @date 2017年9月19日-下午1:44:45
 */
package com.zte.claa.inficombo.csa.app.dao.mysql.impl;

import java.util.List;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import com.zte.claa.inficombo.csa.app.model.version.DevVersionBase;
import com.zte.claa.inficombo.csa.app.model.version.DevVersionBlock;
import com.zte.claa.inficombo.csa.app.model.version.DevVersionUpdateLog;
import com.zte.claa.inficombo.csa.app.model.version.VersionUpdateTask;

/**
 * @author 0283000115
 *
 */

@Repository
public interface DevVersionMapper {
	//  ---------- DevVersionBase CRUD ------------------//
	// 查询所有DevVersionBase信息
	public List<DevVersionBase> queryAllDevVersionBases() throws Exception;
	
	public List<DevVersionBase> queryDevVersionBasesByDevtp(@Param("devtypeid") String devtypeid) throws Exception;
	
	// 查询DevVersionBase信息
	public DevVersionBase queryDevVersionBase(@Param("devtypeid") String devtypeid, @Param("version") String version) throws Exception;

	// ------------- DevVersionBlock -----------------//
	// 查询所有DevVersionBlock.
	public List<DevVersionBlock> queryDevVersionBlocks(@Param("devtypeid") String devtypeid, @Param("version") String version) throws Exception;
		
	// 查询DevVersionBlock信息
	public DevVersionBlock queryDevVersionBlock(@Param("devtypeid") String devtypeid, @Param("version") String version, @Param("blockno") int blockno) throws Exception;
	
	// ------------- VersionUpdateTask -----------------//
	// 查询VersionUpdateTask信息 
	public List<VersionUpdateTask> queryVersionUpdateTasksByPara(@Param("para") VersionUpdateTask para) throws Exception;
		
	// 查询VersionUpdateTask信息
	public VersionUpdateTask queryVersionUpdateTask(@Param("taskid") String taskid) throws Exception;

	// ------------- DevVersionUpdateLog -----------------//
	// 查询DevVersionUpdateLog信息 
	public List<DevVersionUpdateLog> queryDevVersionUpdateLogsByPara(@Param("para") DevVersionUpdateLog para) throws Exception;
		
	// 查询DevVersionUpdateLog信息
	public DevVersionUpdateLog queryDevVersionUpdateLog(@Param("taskid")String taskid, @Param("deveui")String deveui) throws Exception;
	
	// 修改DevVersionUpdateLog. csa侧不需要设置taskid，更新脚本自动筛选当前最新升级任务进行匹配更新.
	public int modifyDevVersionUpdateLog(@Param("log") DevVersionUpdateLog log) throws Exception;

}
